package com.admin.education.services.Interfaces;

import com.admin.education.common.exceptions.ResourceNotFoundException;
import com.admin.education.dataTransferObject.PageResponse;
import com.admin.education.dataTransferObject.ServicesExcuteResult;
import com.admin.education.dataTransferObject.activity.Request.UpdateActivityRequest;
import com.admin.education.dataTransferObject.schools.SchoolsTransfer;
import com.admin.education.dataTransferObject.schools.request.CreateSchoolRequest;
import com.admin.education.dataTransferObject.schools.request.QuerySchoolRequest;
import com.admin.education.dataTransferObject.schools.request.UpdateSchoolRequest;

import javax.validation.Valid;
import java.util.List;

public interface ISchoolService {
    ServicesExcuteResult<List<SchoolsTransfer>> querySchools();
    ServicesExcuteResult<PageResponse<SchoolsTransfer>> querySchools(@Valid QuerySchoolRequest querySchoolRequest);
    ServicesExcuteResult createSchools(@Valid CreateSchoolRequest createSchoolRequest);
    ServicesExcuteResult updateSchools(long schoolsId, @Valid UpdateSchoolRequest updateSchoolRequest) throws ResourceNotFoundException;
    ServicesExcuteResult updateSchoolsValid(long schoolsId) throws ResourceNotFoundException;
    ServicesExcuteResult deleteSchool(long schoolsId) throws ResourceNotFoundException;
    ServicesExcuteResult querySchoolById(long schoolsId) throws ResourceNotFoundException;
}
